import UIKit

//
@available(iOS 2.0, *)
extension QKC where AA :UIPageControl {
		// default is 0
    open func numberOfPages_qk_s(_ numberOfPages:  Int ) -> QKC<AA,YY,ZZ, Int >{
		return link(next: numberOfPages).then_QK { $0.value.numberOfPages = numberOfPages }
	}
    open func numberOfPages_qk_g() -> QKC<AA,YY,ZZ, Int >{
		 self +^ self.value.numberOfPages
	}

		// default is 0. value pinned to 0..numberOfPages-1
    open func currentPage_qk_s(_ currentPage:  Int ) -> QKC<AA,YY,ZZ, Int >{
		return link(next: currentPage).then_QK { $0.value.currentPage = currentPage }
	}
    open func currentPage_qk_g() -> QKC<AA,YY,ZZ, Int >{
		 self +^ self.value.currentPage
	}

		// hide the the indicator if there is only one page. default is NO
    open func hidesForSinglePage_qk_s(_ hidesForSinglePage:  Bool ) -> QKC<AA,YY,ZZ, Bool >{
		return link(next: hidesForSinglePage).then_QK { $0.value.hidesForSinglePage = hidesForSinglePage }
	}
    open func hidesForSinglePage_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.hidesForSinglePage
	}

		// if set, clicking to a new page won't update the currently displayed page until -updateCurrentPageDisplay is called. default is NO
    open func defersCurrentPageDisplay_qk_s(_ defersCurrentPageDisplay:  Bool ) -> QKC<AA,YY,ZZ, Bool >{
		return link(next: defersCurrentPageDisplay).then_QK { $0.value.defersCurrentPageDisplay = defersCurrentPageDisplay }
	}
    open func defersCurrentPageDisplay_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.defersCurrentPageDisplay
	}

    @available(iOS 6.0, *)
    open func pageIndicatorTintColor_qk_s(_ pageIndicatorTintColor:  UIColor?) -> QKC<AA,YY,ZZ, UIColor?>{
		return link(next: pageIndicatorTintColor).then_QK { $0.value.pageIndicatorTintColor = pageIndicatorTintColor }
	}
    @available(iOS 6.0, *)
    open func pageIndicatorTintColor_qk_g() -> QKC<AA,YY,ZZ, UIColor?>{
		 self +^ self.value.pageIndicatorTintColor
	}

    @available(iOS 6.0, *)
    open func currentPageIndicatorTintColor_qk_s(_ currentPageIndicatorTintColor:  UIColor?) -> QKC<AA,YY,ZZ, UIColor?>{
		return link(next: currentPageIndicatorTintColor).then_QK { $0.value.currentPageIndicatorTintColor = currentPageIndicatorTintColor }
	}
    @available(iOS 6.0, *)
    open func currentPageIndicatorTintColor_qk_g() -> QKC<AA,YY,ZZ, UIColor?>{
		 self +^ self.value.currentPageIndicatorTintColor
	}

		// update page display to match the currentPage. ignored if defersCurrentPageDisplay is NO. setting the page value directly will update immediately
    open func updateCurrentPageDisplay_qk_f() -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.updateCurrentPageDisplay()
	}

		// returns minimum size required to display dots for given page count. can be used to size control if page count could change
    open func size_qk_f(forNumberOfPages pageCount: Int) -> QKC<AA,YY,ZZ,CGSize >{
		 self +^ self.value.size(forNumberOfPages:pageCount)
	}

}

